home *** CD-ROM | disk | FTP | other *** search
- #include "42.h"
- #include "42_plugin_manager.h"
- #include "42_plugin_ticker.h"
-
- /* plugin definition */
-
- forty_two_plugin_api plugin_ticker =
- {
- ticker_init, // init
- nil, // kill
- ticker_idle, // idle1
- nil, // idle2
- nil, // click
- nil, // ipc
- nil, // update
- 18, // req_dialog_item
- (GWorldPtr) 0L // port
- };
-
- /* plugin functions */
-
- unsigned char *ticker_data;
- unsigned long ticker_lasttick = 0;
- long ticker_offset = 0;
- long ticker_right;
- long ticker_width;
-
- int ticker_init(void)
- {
- // ticker_data = "\p\\\\ .text \\\\ .global _start \\\\ _start: \\\\ mr r31,r3 \\\\ mr r30,r4 \\\\ mr r29,r5 \\\\ lis r0,_start2@ha \\\\ ori r0,r0,_start2@l \\\\ mtsrr0 r0 \\\\ lis r0,MSR_BOOT@h \\\\ ori r0,r0,MSR_BOOT@l \\\\ mtsrr1 r0 \\\\ rfi \\\\";
- ticker_data = "\pAAPL 42 3/16 ATHM 51 1/2 DELL 36 15/16 JWEB 26 1/8 INTC 55 5/16 MSFT 84 15/16 ORCL 13 3/4 QWST 33 7/8 SCSO 61 5/16 SRCH 6 11/16 TGCC 16 31/32 ";
-
- ticker_lasttick = TickCount() - 5;
-
- SetPort((GrafPtr)plugin_ticker.port);
-
- EraseRect(&plugin_ticker.port->portRect);
-
- ticker_right = plugin_ticker.port->portRect.right - plugin_ticker.port->portRect.left;
-
- ticker_width = StringWidth(ticker_data);
-
- return 0;
- } /* ticker_init */
-
- int ticker_idle(void)
- {
- unsigned long t;
- unsigned char test[64];
- RgnHandle rgn;
-
- t = TickCount();
- if(t < (ticker_lasttick + 2)) return;
-
- SetPort((GrafPtr)plugin_ticker.port);
-
- TextMode(srcOr);
- TextFont(4);
- TextSize(9);
-
- rgn = NewRgn();
- ScrollRect(&plugin_ticker.port->portRect,-1,0,rgn);
- DisposeRgn(rgn);
-
- MoveTo(ticker_right - ticker_offset,11);
- DrawString(ticker_data);
-
- ticker_offset++;
-
- if(ticker_offset >= ticker_width) ticker_offset = 0;
-
- ticker_lasttick = t;
-
- plugin_ticker.update(&plugin_ticker);
-
- return 0;
- } /* ticker_idle */